Quicksort クイックソート
Sorting ソート 整列
アルゴリズム Algorithms
の一種
分解し再帰的に解く
分割統治法
配列 Array
を適当に2つににわけて、それぞれを
Sorting ソート 整列
し、2つをマージすることを繰り返す
分ける場所をpivot
分割A + pivot + 分割B
pivotの偏りで遅くなる
ピボット選択を乱択化
乱択アルゴリズム
特徴
O(n log n)
最悪時
O(n**2)
偏りがある時→
乱択アルゴリズム
使う
in-place Algorithms
内部ソート
安定ソートでない
交換する必要のある値だけを交換
早い、よく使われる
利点
in-place Algorithms
早い
table:quickSort
Name Best Average Worst Memory Stable Comments
Quick sort
O(n log n)
O(n log n)
O(n log n)
n No
実際・用途
実際どういうふうに使うの?
JavaScript
でいうととどれで使われてるの?
参考
JavaScript クイックソート - Qiita